home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / INFO / PCIERRAT.ZIP / PCI_ERR1.TXT
Text File  |  1992-01-22  |  29KB  |  772 lines

  1.                    [1/22/92]
  2.                 Errata and Notes
  3.                   for
  4.  
  5.                  PC Interrupts:
  6.       A Programmer's Reference to BIOS, DOS, and Third-Party Calls
  7.                    by
  8.             Ralf Brown and Jim Kyle
  9.  
  10.  ----------------------------------------------------------------------
  11.  
  12. Page xii
  13. The list of contributors was omitted during the publishing process.  It
  14. is reproduced here in its entirety.
  15.  
  16.   Many people have contributed information to the Interrupt List over the
  17.   years, resulting in a much larger listing than would otherwise have been
  18.   the case.  We gratefully acknowledge the contributions of the following:
  19.  
  20.   Dave Andrews <bilver!dandrews@aii.com>, Mike Baszczak, Stephen Bean
  21.   <70575.406@compuserve.com>, David H. Bennett
  22.   <74635.1671@compuserve.com>, Jan-Pascal van Best
  23.   <best@rulcri.LeidenUniv.nl>, James Birdsall <jwbirdsa@amc.com>, Roger
  24.   Bowler <rbowler@cix.compulink.co.uk>, Chris Blum
  25.   <76625.1041@compuserve.com>, John Brennen <John.Brennen@VI.RI.CMU.EDU>,
  26.   Vincent Broman <broman@bugs.nosc.mil>, Barry Burke <barry@banyan.com>,
  27.   Jan Ceuleers <2:295/27>, Robert Chafer (Salford, England), Geoff
  28.   Chappell <uunet!cix.compulink.co.uk!geoffc>, John Cooper, Wes Cowley
  29.   <71441.3154@compuserve.com>, Dan Crocker
  30.   <enchant@oliveb.ATC.OLIVETTI.COM>, Maxime Dallaire <1:167/163>, Brad
  31.   Davis <bradd@gssc.gss.com>, Mark Davis <mad@merit.edu>, Dan Davison
  32.   <dd@lanl.gov>, John DesRosiers, Michael Dickson <mcd@ccsitn.att.com>,
  33.   Clarence A Dold <dold@tsmiti.Convergent.COM>, David Dyck
  34.   <dcd@tc.fluke.COM>, Leonard Erickson <70465.203@CompuServe.COM>, John
  35.   Fa'atuai <frotz@dri.com>, Pete Fales <att!ttrde!pfales>, Dan Fandrich
  36.   <shad04@ccu.umanitoba.ca or 1:153/511.1>, Bob Fehrenbach, Herwig
  37.   Feichtinger (Petershausen, Germany), David Fink
  38.   <73700.3076@compuserve.com>, Edwin Floyd <76067.747@CompuServe.COM>,
  39.   Sergio Fogel <fogel@haifasc3.vnet.ibm.com>, Christian Franke
  40.   <franke@informatik.rwth-aachen.de>, Bill Frolik
  41.   <bill@hpcvlx.cv.hp.com>, Ge van Geldorp <ge@dutlru2.tudelft.nl>, Skip
  42.   Gilbrech, Kevin Gillett <1:153/160>, Frank Gladu, Rich Goldschmidt
  43.   <rlgvax!golds>, Robert Goldsmith <rpg@security.mitre.org>, Bob Green
  44.   <bob@inmos.co.uk>, Ross M. Greenberg <c-rossgr@microsoft.com>, Darryl
  45.   Gregorash <1:140/86>, Dennis Grinberg <dennis+@cs.cmu.edu>, Dave
  46.   Guggisberg <daveg@cv.hp.com>, Richard Hargrove
  47.   <harvard!killer!richardh>, Klaus Hartnegg
  48.   <hartnegg@sun1.ruf.uni-freiburg.de>, Ralph Heredia
  49.   <att!attmail!rheredia>, David Herron <david@gonzo.twg.com>, Michael Ho
  50.   <ho@fergvax.unl.edu>, Peter Holzmann <pete@octopus.com>, Thomas Hundt
  51.   <hundt@flash.bellcore.com>, Ari Huttunen <Ari.Huttunen@hut.fi>,
  52.   Ying-Kuen K. Hwang <khwang@wyse.com>, Bob Jack, Janet Jack, Skule
  53.   Johansen <skule.johansen@avh.unit.no>, Howard Johnson
  54.   <Howard_Reed_Johnson@cup.portal.com>, Tamura Jones <2:512/36.7>,
  55.   Norbert Juffa (Karlsruhe, FRG), Madis Kaal <2:490/30>, Everett Kaser
  56.   <everett@hpcvrw.cv.hp.com>, Cornel Kaufmann <coka@bernina.ethz.ch>,
  57.   Paul van Keep <75170.1045@compuserve.COM>, Stuart R. Kemp
  58.   <cpsrk@marlin.jcu.edu.au>, James P. Kiely
  59.   <kiely%lownlab@harvard.harvard.edu>, Naota Kimura
  60.   <abcscnuk@csuna.csun.edu>, Dave Kirsch <Dave_Kirsch@mindlink.bc.ca>,
  61.   Glen Kriekenbeck <glenk@East.Sun.COM>, Shalom Krischer
  62.   <actnyc!srk@uunet.UU.NET>, Dan Lanciani <ddl@harvard.harvard.edu>,
  63.   Risto Lankinen, Michael D. Lawler <mdlawler@bsu-cs.bsu.edu>, Brian
  64.   Leeming (Surrey, England), John Lefor <jal@ee.rochester.edu>, Marty
  65.   Leisner <Leisner.Henr801c@Xerox.COM>, Erik Liljencrantz
  66.   <d88-eli@nada.kth.se>, Sean Lin (Midland, MI), Mark Livingstone
  67.   <markl@csource.oz.au>, Marco Lumachi <RARCHI06@IMIPOLI.BITNET>, Rob
  68.   Luursema <robl@idca.tds.philips.nl>, Bent Lynggaard
  69.   <lynggaard@risoe.dk>, Otto J. Makela <otto@jyu.fi>, Richard Marks
  70.   <rmarks@KSP.Unisys.COM>, Michel Mathieu <mjm@bmbcomp.uucp>, David Maxey
  71.   <dmaxey@lotus.com>, Claude Marche <marche@lri.lri.fr>, Ken Medellin,
  72.   Gary E. Miller <GEM@cup.portal.com>, Michael A. Moran
  73.   <Michael@cup.portal.com>, Mike Morearty <...!ucbvax!cory!morearty>, Joe
  74.   Morris <jcmorris@MWUNIX.MITRE.ORG>, Richard D. Morris
  75.   <gu.morris@science.utah.edu>, Les Moskowitz <1:261/1008>, Duncan
  76.   Murdoch <dmurdoch@watstat.waterloo.edu>, Ben Myers
  77.   <0003571400@mcimail.com>, Ed Nather <nather@emx.utexas.edu>, Russ
  78.   Nelson <nelson@sun.soe.clarkson.edu>, Andrea Omodeo (Cilavegna, Italy),
  79.   Lewis Paper (Minnesota), William L. Peavy <70042.2310@compuserve.com>,
  80.   A. Padgett Peterson <padgett%tccslr.dnet@uvs1.orl.mmc.com>, Greg
  81.   Pasquariello <moss!picuxa!gp>, Simon Phipps
  82.   <sphipps@cix.compulink.co.uk>, Jeroen Pluimers <2:281/521>, George W.
  83.   Pogue <gwp@trsvax.tandy.com>, Victor Poon <vipoon@sbcs.sunysb.edu>, Dan
  84.   Prather <72765.1330@CompuServe.COM>, Nelluri Reddy
  85.   <reddy@uc.msc.umn.edu>, John Ruschmeyer <moncol!john@princeton.edu>,
  86.   Peter Sawatzki <FE617@DHAFEU11.BITNET>, Mark Scase <coa44@keele.ac.uk>,
  87.   Carl Schelin <tcs@mailer.jhuapl.edu>, Bernd Schemmer (Dortmund,
  88.   Germany), Marc Scholtis <2:281/701.2>, W.F. Schroeder
  89.   <unido!nixpbe!schroeder.pad@uunet.UU.NET>, Andrew Schulman
  90.   <76320.302@CompuServe.COM>, Robert Seals <rds95@leah.Albany.EDU>, Mark
  91.   Seiffert <marks%%mgse@rex.cs.tulane.edu>, Michael A. Shiels
  92.   <mas@bmbcomp.uucp or mshiels@masnet.uucp>, Michael D. Shride
  93.   <74010.3214@compuserve.com>, Fridrik Skulason <frisk@RHI.HI.IS>, George
  94.   Smith <gbs@nsc.nsc.com>, Norbert Sommer <NSOMMER@DD0RUD81.BITNET>,
  95.   Joseph G. Souza <1:322/327>, Diomidis Spinellis <dds@doc.ic.ac.uk>, G.
  96.   Adam Stanislav <1:129/39>, Dmitry Stefankov (Moscow, USSR), Jonathan
  97.   Story <jonathan@jspc.wimsey.bc.ca>, Michael S. Stratoti
  98.   <tmstrato@king.mcs.drexel.edu>, Brad Templeton <brad@looking.on.ca>,
  99.   John B. Thiel <jbthiel@cse.ogi.edu>, Finn Thoegerson, David G. Thomas,
  100.   Andrew Torda <torda@igc.ethz.ch>, RS Tse <3:700/1>, John P. Vias
  101.   <72260.1601@CompuServe.COM>, Helmut Waelder <ZRWA001@DTUZDV1.BITNET>,
  102.   Rick Wagner <rick@always.com>, Robin Walker
  103.   <rdhw@phoenix.cambridge.ac.uk>, Norman Walsh <NORM@IONAACAD.BITNET>,
  104.   J. Weaver Jr., Mike Weaver <1:264/610>, John Werner
  105.   <aptr@tut.cc.rochester.edu>, James West <1:140/26>, Bill White
  106.   <wwhite@vaxc.teknowledge.com>, Paul Williamson
  107.   <pwilliamson@drzeus.qualcomm.com>, Manfred Young <fyoung@BIX>,
  108.   <zlatuska@UDEL.EDU>, Urs Zurbuchen <mcvax!norad!netto!uzurbuch>.
  109.  
  110. Page 1-15
  111. Table 1-3 used proportional spacing, which throws off the alignment
  112. of much of the table.
  113.  
  114. Page 2-2, Interrupt 02h
  115. "Memory parity error: all except Jr, CONV, ..." should read "... PCjr,
  116. Convertible, ..."
  117.  
  118. Page 2-4, Interrupt 09h, IRQ1
  119. after "place system in a tight wait loop", add "until next INT 09h"
  120.  
  121. Page 2-7, Interrupt 0Dh, CPU-generated
  122. "INT 06 through INT 0C" should read "INT 06h through INT 0Ch"
  123.  
  124. Page 2-11, Interrupt 50h, DESQview IRQ0
  125. The list of ranges for v2.31 also applies to v2.40.
  126.  
  127. Page 2-17, Interrupt 77h, IRQ15 - Reserved
  128. delete "(AT,PS)" from heading
  129.  
  130. Page 2-17, Interrupt 77h, IRQ15 - Power Conservation
  131. delete "(Compaq SLT/286)" from heading
  132.  
  133. Page 3-3, Interrupt 15h Function 04h
  134. under "Registers at call", "results buffer length 20h" should read
  135. "results buffer of length 20h"
  136.  
  137. Page 3-4, Interrupt 15h Function 05h
  138. under "Registers at call", "results buffer length" should read
  139. "results buffer of length"
  140.  
  141. Page 3-5, Interrupt 15h Function 21h
  142. under "Registers at call", the lines for BH and BL should be indented
  143. one stop beyond the "01h" line, as these registers only apply for
  144. subfunction 01h.
  145.  
  146. Page 3-7, Interrupt 15h Function 80h
  147. extraneous blank lines under "Return Registers"
  148.  
  149. Page 3-8, Interrupt 15h Function 84h
  150. under "Return Registers", "subfunction 0000" and "subfunction 0001"
  151. should read "subfunction 0000h" and "subfunction 0001h", respectively.
  152.  
  153. Page 3-17, Interrupt 15h Function C5h
  154. under "Registers at call", "INT 1A" should read "INT 1Ah"
  155.  
  156. Page 3-19, Interrupt 16h Function 05h
  157. under "Details", "38FCh" should read "38FCh or FC00h"; similarly,
  158. "38FEh or FE00h" and "38FFh or FF00h".
  159.  
  160. Page 3-22, Table 3-19
  161. "56h GB" should read "56h Golden Bow VFeature"
  162. also add 
  163.     50h Disk Manager, read-only partition
  164.  
  165. Page 3-25, Interrupt 1Ah Function 09h
  166. extraneous blank lines between "Restrictions" and "Return Registers"
  167.  
  168. Page 3-27
  169. Part of the heading for INT 6Ch was lost.  Insert "INTERRUPT 6Ch"
  170. between "See Also: INT 1Ah ..." and "System Resume Vector"
  171. "MSee Also" should read "See Also"
  172.  
  173. Page 4-7, Interrupt 16h Function F0h
  174. Return Registers should read "n/a" rather than "unknown"
  175.  
  176. Page 4-8, Interrupt 16h Function F3h
  177. Return Registers should read "n/a" rather than "unknown"
  178.  
  179. Page 4-9, Interrupt 15h Function D8h Subfunction 00h
  180. extraneous blank line under "Return Registers"
  181.  
  182. Page 5-14, Interrupt 10h Function 05h Subfunctions 80h to 83h
  183. Under "Details", "ofphysical" should of course read "of physical", and
  184. "pagedetermines" should be "page determines".
  185.  
  186. Page 5-18, Table 5-3
  187. "starting column" and "ending column" should be italicized and without
  188. the trailing question marks.
  189.  
  190. Page 5-20, Interrupt 10h Function 10h Subfunction 08h
  191. delete the "\v" from the heading
  192.  
  193. Page 5-30, Table 5-6
  194. at offset 05h, "4 Bytes" should be "4 BYTEs"
  195.  
  196. Page 5-38, Interrupt 10h Function 49h
  197. under "Details", "specify first point" should read "specifies first
  198. point" 
  199.  
  200. Page 5-44, Interrupt 10h Function 4Fh Subfunction 06h
  201. under "Registers at call", the line for CX should be indented
  202.  
  203. Page 5-44, Interrupt 10h Function 4Fh Subfunction 07h
  204. under "Details", the blank in "are multiplied" is missing
  205.  
  206. Page 5-48, Interrupt 10h Function 6Fh Subfunction 06h
  207. under "Registers at call", both occurrences of "MGA" should read "MDA"
  208.  
  209. Page 5-51, Interrupt 10h Function 70h
  210. under "Purpose", "part of all" should read "part or all"
  211.  
  212. Page 5-52, Interrupt 10h Function 82h
  213. extraneous blank line under "Return Registers"
  214.  
  215. Page 5-64, Interrupt 14h Function 81h Subfunction 01h
  216. under "Purpose", there is extra space between "to the" and "functions";
  217. under "Details", the blank in "minimal changes" is missing.
  218.  
  219. Page 5-69
  220. for all three "Details" lines, "end ofthe" should read "end of the"
  221.  
  222. Page 5-70
  223. for the first three "Details" lines, "end ofthe" should read "end of the"
  224.  
  225. Page 6-1, Interrupt 13h Function 01h
  226. "Purpose:" should be in boldface.
  227.  
  228. Page 6-3, Interrupt 13h Function 08h
  229. extraneous blank line between "Purpose" and "Available on"
  230.  
  231. Page 6-7, Interrupt 63h
  232. extraneous blank line between "Purpose" and "Available on"
  233.  
  234. Page 6-7, Interrupt 13h Function 05h
  235. in the header, "Fixed Disk:" should be removed
  236.  
  237. Page 6-7, Interrupt 13h Function 06h
  238. in the header, "Fixed Disk:" should be removed
  239.  
  240. Page 6-8, Interrupt 13h Function 07h
  241. in the header, "Fixed Disk:" should be removed
  242.  
  243. Page 6-15, Table 6-5
  244. at offset 00h, "don't have capacity yet" should be italicized and
  245. without the trailing question marks
  246.  
  247. Page 6-23, Interrupt 78h Function 00h
  248. at the end of the Details section, there is extraneous space between
  249. "interrupt" and "handler"
  250.  
  251. Page 6-27, Interrupt 13h Function 1Dh
  252. the "Registers at call" section is not correctly indented.  It should
  253. be indented as
  254.     AH = 1Dh
  255.     AL = subfunction
  256.         01h get status record
  257.             DL = drive
  258.         02h set cache status
  259.             ES:BX -> status record
  260.             DL = drive
  261.  
  262. Page 6-28, Interrupt 13h Function 22h
  263. Return Registers should read "n/a" instead of "unknown"
  264.  
  265. Page 6-38, Interrupt 21h Function 44h Subfunction 10h
  266. Return Registers should read "n/a" instead of "unknown"
  267.  
  268. Page 6-38, Interrupt 21h Function 44h Subfunction 11h
  269. Return Registers should read "n/a" instead of "unknown"
  270.  
  271. Page 6-39, Interrupt 21h Function DCh
  272. Return Registers should read "n/a" instead of "unknown"
  273.  
  274. Page 7-1, Interrupt 14h Function 00h
  275. "AH = line status (Table 7-2)" should be under "Return Registers"
  276.  
  277. Page 7-1, Interrupt 14h Function 01h
  278. "AH bit 7 clear if successful" should be under "Return Registers"
  279.  
  280. Page 7-10, Interrupt 14h Function 00h
  281. Conflicts should be "Standard BIOS - Initialize" rather than "none
  282. known" 
  283.  
  284. Page 7-17, Interrupt 14h Function 1Eh
  285. the line break between "01h if no break" and "BH = parity" was
  286. accidentally omitted
  287.  
  288. Page 7-21, Interrupt 14h Function A4h
  289. the "Registers at call" section should read
  290.     AH = A4h
  291.     other registers unknown
  292.  
  293. Page 8-19, Interrupt 21h Function 33h Subfunctions 00h and 01h
  294. Under "Return Registers", "AL = 01h" and following should actually be
  295. under "Registers at call", and should be indented as
  296.     AL = 00h ...
  297.     AL = 01h ... and Control-
  298.          Break checking
  299.         DL = 00h ...
  300.              01h ...
  301.  
  302. Page 8-39, Interrupt 21h Function 49h
  303. "Details" ends with a comma instead of a period.
  304.  
  305. Page 8-50, Table 8-42
  306. extraneous blank line in the description at offset -0Ch
  307.  
  308. Page 8-53, Table 8-49
  309. at offset 00h, "\MACH" should read "\\MACH"
  310. The DR-DOS current directory structure differs from the MSDOS CDS.
  311.     Table 8-49a. Format of current directory structure for DR-DOS 5.0-6.0
  312.     Offset  Size    Description
  313.      00h 67 BYTEs   ASCIZ pathname of actual root directory for this
  314.              logical drive
  315.      43h    WORD    drive attributes
  316.                     1000h SUBSTed drive
  317.                     3000h??? JOINed drive
  318.                     4000h physical drive
  319.                     5000h ASSIGNed drive
  320.             7000h JOINed drive
  321.      45h    BYTE    physical drive number (0=A:) if this logical drive
  322.              is valid
  323.      46h    BYTE    ??? apparently flags for JOIN and ASSIGN
  324.      47h    WORD    cluster number of start of parent directory
  325.              (0000h = root) 
  326.      49h    WORD    entry number of current directory in parent
  327.              directory 
  328.      4Bh    WORD    cluster number of start of current directory
  329.      4Dh  2 BYTEs   ??? apparently always 0001h
  330.      4Fh    WORD    cluster number of SUBST/JOIN "root" directory
  331.                     0000h if physical root directory
  332.  
  333. Page 8-55, Tables 8-52 and 8-53
  334. at offset 00h, "if last least-recently" should read "if last; least-
  335. recently" 
  336.  
  337. Page 8-79, Interrupt 21h Function 5Eh Subfunction 04h
  338. under Purpose, "operation" should be "operate"
  339.  
  340. Page 8-83, Interrupt 21h Function 60h
  341. Backslashes really messed things up here.  The end of "Return
  342. Registers" should read
  343.     buffer filled with qualified name of form
  344.       D:\PATH\NAME.EXT or \\MACHINE\PATH\NAME.EXT
  345. At the end of the first paragraph of the Details section, the single
  346. backslash in quotes should be two backslashes.
  347.  
  348. Page 8-108, Interrupt 2Fh Function 12h Subfunction 11h
  349. There is an extraneous vertical bar after "Return Registers:"
  350.  
  351. Page 8-134, Interrupt 2Fh Function 10h Subfunction 80h
  352. under "Details", delete "they may also be turned off with the
  353. undocumented /NC commandline switch".
  354.  
  355. Page 8-135, Interrupt 2Fh Function 19h Subfunction 04h
  356. The last two lines of this entry should be under Return Registers,
  357. indented as
  358.     ES:DI -> ...
  359.         WORD ...
  360.         N BYTEs ...
  361.  
  362. Page 10-1, Interrupt 2Fh Function 43h Subfunction 10h
  363. A number of items are incorrectly indented in the description of the
  364. calls to the driver entry point.  For function 01h, the calling
  365. registers should be indented as
  366.     01h Request High Memory ...
  367.         DX = memory in bytes ...
  368.             FFFFh if application program
  369. For functions 0Ah, 0Bh, 0Dh (page 10-2), 0Fh, and 11h (page 10-3), the
  370. return value BL should be indented on tab stop beyond "0000h failure",
  371. as it is for function 06h.
  372.  
  373. Page 10-7, Interrupt 67h Function 4Ch
  374. There is an extraneous blank line under "Return Registers".
  375.  
  376. Page 10-17, Virtual Control Program Interface
  377. "to have multiplex" should read "to have multiple"
  378.  
  379. Page 10-20, Interrupt 67h Function DEh Subfunction 09h
  380. Details: should read "Values for DR4 and DR5 are ignored."
  381.  
  382. Page 10-20, Interrupt 67h Function DEh Subfunction 0Ah
  383. In the Purpose section, "interrupt" is misspelled as "interrutp".
  384.  
  385. Page 11-1, Interrupt 2Fh Function FBh Subfunction 42h
  386. under Return Registers, there should be no indenting.  All lines should
  387. start in the same column as "Return Registers".
  388. On the Conflicts: line, "None known" was erroneously boldfaced.
  389.  
  390. Page 11-2, Interrupt 2Fh Function 16h Subfunction 87h
  391. The lines "Call Mode Switch entry point with:" and "Mode Switch routine
  392. returns with:" should have been boldfaced.
  393.  
  394. Page 11-4, Interrupt 31h Function 00h Subfunction 02h
  395. on the Purpose: line, "descritor" should be "descriptor"
  396.  
  397. Page 11-18, Table 11-11
  398. "12 Bytes" should be "12 BYTEs"
  399.  
  400. Page 11-23, Interrupt 31h Function 06h Subfunction 02h and Subfunction 03h 
  401. The Purpose: sections of these two entries were accidentally exchanged.
  402. Subfunction 02h permits the memory to be paged out while Subfunction
  403. 03h prevents memory from being paged out.
  404.  
  405. Page 11-30, Interrupt 31h Function 0Dh Subfunction 02h
  406. The "Registers at call" section should be indented as
  407.     DX = flags
  408.         bit 0: return immediately rather than suspending
  409.                if serialization unavailable
  410.         1: ...
  411.  
  412. Page 12-1, Interrupt 4Bh Function 81h Subfunction 02h
  413. The heading was not boldfaced.  The end of the Return Registers section
  414. should be indented as follows:
  415.     CF set on error
  416.         AL = error code (see Table 12-1)
  417.  
  418. Page 13-1, Microsoft Mouse
  419. "Microsoft Mouse The Microsoft mouse driver" should read just "The
  420. Microsoft mouse driver"
  421.  
  422. Page 13-11, Interrupt 33h Function 0024h
  423. under Return Registers, "on errorotherwise" should read "on error; otherwise"
  424.  
  425. Page 13-16, Interrupt 33h Function 0042h
  426. The Return Registers section should be indented as
  427.     AX = FFFFh ...
  428.         BX = buffer size....
  429.        = 0000h ...
  430.        = 0042h ...
  431.  
  432. Page 14-1, Interrupt 16h Function 6Fh Subfunction 00h
  433. The lines under "Registers at call" and "Return Registers" were
  434. erroneously boldfaced.  After the book appeared, I was informed that
  435. this call is actually an HP Vectra installation check, and thus should
  436. be in chapter 4 rather than chapter 14.
  437.  
  438. Page 14-1, Interrupt 2Fh Function 16h Subfunction 00h
  439. The Available on: and Restrictions: sections were erroneously
  440. boldfaced. 
  441.  
  442. Page 14-4, Interrupt 2Fh Function 16h Subfunction 81h
  443. the last two sentences of the Details section should be a single
  444. sentence; replace "2.x. Get" with "2.x; get"
  445.  
  446. Page 14-9, Interrupt 2Fh Function 17h Subfunction 0Ah
  447. tables 14-6 and 14-7 were omitted during the publication process.
  448. Under "Registers at call" it should read "(see Table 14-6)", while the
  449. "Return Registers" section should read "(see Table 14-7)".  The two
  450. tables are reproduced here in their entirety.
  451.  
  452. Table 14-6. GDI Information Index Codes:
  453. Code    Meaning
  454. 00h    device driver version
  455. 02h     device classification
  456. 04h     width in mm
  457. 06h     height in mm
  458. 08h     width in pixels
  459. 0Ah     height in pixels
  460. 0Ch     bits per pixel
  461. 0Eh     number of bit planes
  462. 10h     number of brushes supported by device
  463. 12h     number of pens supported by device
  464. 14h     number of markers supported by device
  465. 16h     number of fonts supported by device
  466. 18h     number of colors
  467. 1Ah     size required for device descriptor
  468. 1Ch     curve capabilities
  469. 1Eh      line capabilities
  470. 20h     polygon capabilities
  471. 22h     text capabilities
  472. 24h     clipping capabilities
  473. 26h     bitblt capabilities
  474. 28h     X aspect
  475. 2Ah        Y aspect
  476. 2Ch     length of hypotenuse of aspect
  477. 58h     logical pixels per inch of width
  478. 5Ah     logical pixels per inch of height
  479.  
  480. Table 14-7. GDI Information Return Codes:
  481. device classification
  482.     00h vector plotter
  483.     01h raster display
  484.     02h raster printer
  485.     03h raster camera
  486.     04h character-stream, PLP
  487.     05h Metafile, VDM
  488.     06h display-file
  489. curve capabilities
  490.     bit 0  circles
  491.     bit 1  pie wedges
  492.     bit 2  chord arcs
  493.     bit 3  ellipses
  494.     bit 4  wide lines
  495.     bit 5  styled lines
  496.     bit 6  wide styled lines
  497.     bit 7  interiors
  498. line capabilities
  499.     bit 1  polylines
  500.     bit 2  markers
  501.     bit 3  polymarkers
  502.     bit 4  wide lines
  503.     bit 5  styled lines
  504.     bit 6  wide styled lines
  505.     bit 7  interiors
  506. polygon capabilities
  507.     bit 0  polygons
  508.     bit 1  rectangles
  509.     bit 2  trapezoids
  510.     bit 3  scanlines
  511.     bit 4  wide borders
  512.     bit 5  styled borders
  513.     bit 6  wide styled borders
  514.     bit 7  interiors
  515. text capabilities
  516.     bit 0  output precision character
  517.     bit 1  output precision stroke
  518.     bit 2  clippping precision stroke
  519.     bit 3  90-degree character rotation
  520.     bit 4  arbitrary character rotation
  521.     bit 5  independent X and Y scaling
  522.     bit 6  double-size
  523.     bit 7  integer scaling
  524.     bit 8  continuous scaling
  525.     bit 9  bold
  526.     bit 10 italic
  527.     bit 11 underline
  528.     bit 12 strikeout
  529.     bit 13 raster fonts
  530.     bit 14 vector fonts
  531.     bit 15 reserved
  532. clipping capabilities
  533.     00h none
  534.     01h clipping to rectangles
  535. raster capabilities
  536.     bit 0  simple bitBLT
  537.     bit 1  device requires banding support
  538.     bit 2  device requires scaling support
  539.     bit 3  supports >64K bitmap
  540.  
  541. Page 15-1, Interrupt 10h Function FFh
  542. There is an extraneous blank line in the heading.  Under Registers at
  543. call, "ES:DI - first" should read "ES:DI -> first"
  544.  
  545. Page 15-6, Interrupt 15h Function 10h Subfunction 1Fh
  546. under "Registers at call", substitute "ES:DI" for "DS:DI"
  547.  
  548. Page 15-10, Interrupt 15h Function 12h Subfunction 00h
  549. there are extraneous blank lines under both "Registers at call" and
  550. "Restrictions". 
  551.  
  552. Page 15-12, Interrupt 15h Function 12h Subfunction 02h
  553. on the Purpose line, read "object" for "objects", as only a single
  554. object is freed
  555.  
  556. Page 15-14, Interrupt 15h Function 12h Subfunction 04h
  557. There is an extraneous blank line under both "Registers at call" and
  558. "Return Registers"
  559.  
  560. Page 15-35, Interrupt 15h Function 12h Subfunction 0Ch
  561. The Purpose line should read "Prepare for I/O" rather than "Prepare of
  562. I/O".  There is also an extraneous blank line under "Registers at call"
  563.  
  564. Page 15-37, Interrupt 15h Function 12h Subfunction 0Eh
  565. there should have been a line break between "keyboard: discard input"
  566. and "timer: cancel current interval"
  567.  
  568. Page 15-40, Interrupt 15h Function 12h Subfunction 11h
  569. The "STACK: DWORD ..." line should not have been indented
  570.  
  571. Page 15-40, Interrupt 15h Function 12h Subfunction 12h
  572. The "STACK: DWORD ..." line should not have been indented
  573.  
  574. Page 15-44, Interrupt 15h Function DEh Subfunction 00h
  575. New information has become available indicating that the return value
  576. is the offset of the program most recently selected from the "Switch
  577. Windows" menu, rather than the calling program.
  578.  
  579. Page 15-44, Table 15-7
  580. at offset 00h, add "(FFh if end of file)"
  581. change the last two lines to read
  582.     BYTE program type
  583.     WORD apperently always 0000h
  584.  
  585. Page 15-54, Interrupt 21h Function 2Bh
  586. The last two lines of the "Registers at call" section should not have
  587. been indented.
  588.  
  589. Page 15-55, Interrupt 2Fh Function DEh Subfunction 01h
  590. There is an extraneous blank line prior to the Details section.
  591.  
  592. Page 16-3, Interrupt 14h Function 23h
  593. under "Return Registers", the line describing bit 6 of AH was indented
  594. much more than it should have been.
  595.  
  596. Page 17-1, Interrupt 11h Function FFh Subfunction FEh
  597. under "Return Registers", the return values for calls 01h and 02h
  598. ("DX:AX -> unknown" and "n/a") should not be indented
  599.  
  600. Page 17-8, Interrupt 15h Function 54h Subfunction 00h and Subfunction 01h
  601. under Return Registers, "unknown" should be "n/a"
  602.  
  603. Page 17-9, Interrupt 15h Function 54h Subfunction 02h through Subfunction 06h
  604. under Return Registers, "unknown" should be "n/a"
  605.  
  606. Page 17-10, Interrupt 15h Function 54h Subfunction 07h
  607. under Return Registers, "unknown" should be "n/a"
  608.  
  609. Page 17-10, Interrupt 21h Function E1h
  610. under Conflicts, change "OS/286, OS/386 (chapter 1)" to "OS/286, OS/386
  611. (chapter 9)"
  612.  
  613. Page 17-11, Interrupt 21h Function E2h
  614. under Conflicts, change "OS/286, OS/386 (chapter 1)" to "OS/286, OS/386
  615. (chapter 9)"
  616.  
  617. Page 18-15, Interrupt 7Fh Function 02h
  618. under Return Registers, "AH = semaphore owner" should be indented one
  619. tab stop beyond the line above.
  620.  
  621. Page 18-18, Interrupt 7Fh Function 08h Subfunctions 00h and 01h
  622. there is an extraneous blank line in the "Return Registers" section
  623.  
  624. Page 18-21, Interrupt 7Fh Function 10h Subfunction 04h
  625. under Purpose, read "datagram" for "datagrams"
  626.  
  627. Page 18-22, Interrupt 7Fh Function 10h Subfunction 06h
  628. On the Details line, "functio" should be "function"
  629.  
  630. Page 18-23, Interrupt 7Fh Function 10h Subfunction 09h
  631. On the Details line, "functio" should be "function"
  632.  
  633. Page 18-31, Interrupt 7Fh Function 37h
  634. "adderss" should be "address" on the Purpose line
  635.  
  636. Page 19-6, Interrupt 2Fh Function 11h Subfunction 0Fh
  637. there is an extraneous blank line in the "Registers at call" section
  638.  
  639. Page 19-9, Interrupt 2Fh Function 11h Subfunction 17h
  640. Part of a line has been misplaced.  The "Registers at call" section
  641. should read in part
  642.     SDA CDS pointer -> current directory structure for
  643.         drive with file
  644.     STACK at call: WORD file creation mode
  645.         low byte....
  646.  
  647. Page 19-9, Interrupt 2Fh Function 11h Subfunction 18h
  648. The Details section is misplaced.  It should be after the "STACK at
  649. call" portion and immediately prior to "Conflicts:"
  650.  
  651. Page 19-15, Interrupt 2Fh Function 11h Subfunction 2Eh
  652. there is an extraneous blank line under "Registers at call"
  653.  
  654. Page 19-21, Table 19-3
  655. the table's heading is misplaced
  656.  
  657. Page 20-5, Interrupt 21h Function C1h
  658. Under "Purpose", read "specified" for "specied"
  659.  
  660. Page 20-16, Table 20-5
  661. at offset N, "propertyis" should of course be two words
  662.  
  663. Page 20-31, Table 20-15
  664. at offset 1Fh, "data stream type" is missing both blanks
  665.  
  666. Page 20-32, Interrupt 7Ah Function 0014h
  667. Return Registers should be "n/a" rather than "unknown"
  668.  
  669. Page 21-1, Interrupt 21h Function 5Fh Subfunction 80h
  670. Under "Return Registers", the quoted backslash should be doubled
  671.  
  672. Page 21-2, Interrupt 21h Function 5Fh Subfunction 81h
  673. under Details, "\machine" should read "\\machine\username"
  674.  
  675. Page 21-2, Interrupt 21h Function 5Fh Subfunction 82h, Subf 84h, Subf 85h
  676. in all three entries, the backslashes should be doubled
  677.  
  678. Page 21-3, Interrupt 21h Function 5Fh Subfunction 86h and Subfunc 97h
  679. the backslash under "Registers at call" should be doubled (i.e "\\")
  680.  
  681. Page 21-5, Interrupt 21h Function 5Fh Subfunction A0h
  682. the backslash under "Registers at call" should be doubled (i.e "\\")
  683.  
  684. Page 21-7, Interrupt 21h Function 5Fh Subfunction A3h
  685. the backslash under "Registers at call" should be doubled (i.e "\\")
  686.  
  687. Page 21-8, Interrupt 21h Function 5Fh Subf A4h, Subf A5h, Subf A7h, Subf B0h
  688. in all four entries, the backslash under "Registers at call" should be
  689. doubled (i.e "\\")
  690.  
  691. Page 21-9, Interrupt 21h Function 5Fh Subfunction B1
  692. the backslash under "Registers at call" should be doubled (i.e "\\")
  693. there are extraneous blank lines under "Return Registers"
  694.  
  695. Page 21-10, Interrupt 21h Function 5Fh Subfunction B2h
  696. the backslash under "Registers at call" should be doubled (i.e "\\")
  697.  
  698. Page 22-11, Table 22-34
  699. at offset 03h, "sessoin" should of course be "session"
  700.  
  701. Page 23-8, Table 23-11
  702. at offset 0Dh for operation codes 00h/06h, "explicity" should be
  703. "explicit" 
  704.  
  705. Page 24-6, Interrupt 6Ah Function D3h Subfunction 00h
  706. "rConflicts:" should of course be "Conflicts:"
  707.  
  708. Page 26-2, Interrupt 21h Function A0h
  709. under "Return Registers", the description for AL bits 2-0 has been
  710. indented one tab stop too far
  711.  
  712. Page 26-15, Table 26-8
  713. for value 1Fh, "position of" is missing the blank
  714.  
  715. Page 27-8, Table 27-8
  716. at offset 08h, "pointer" was misspelled
  717.  
  718. Page 27-10, Table 27-13
  719. at offset 40h, bit 15, "during" was misspelled
  720.  
  721. Page 28-7, Interrupt 21h Function 2Bh Subfunction 44h
  722. I have been informed that the Return Registers should read
  723.     AX = 4F4Bh ('OK') if large host loaded
  724.        = 6F6Bh ('ok') if small host loaded
  725.     CX:DX -> API entry point
  726.  
  727. Page 29-7, Interupt 2Fh Function CBh Subfunction 0Fh
  728. under "Registers at call", the last line ("DH =") should be indented
  729. one tab stop further than the line above
  730.  
  731. Page 29-8, Table 29-4
  732. at offset 0Bh, "already" was misspelled
  733.  
  734. Page 29-12, Table 29-7 and Table 29-8
  735. Several index entries (the lines starting with ".i.") wound up as
  736. printable text....
  737.  
  738. Page 33-7, Interrupt 16h Function FFh Subfunction B5h
  739. the boldfacing on the second line of the heading was lost
  740.  
  741. Page 34-1, Interrupt 21h Function 33h Subfunction E0h
  742. for Return Registers, read
  743.     "AL = E0h if resident"
  744.  
  745. Page 36-3, Interrupt 2Fh Function D4h Subfunction 4Eh
  746. the last word on the Purpose: line should be "level"
  747.  
  748. Page 36-13, Table 36-8
  749. in the description for value 16h, "length overrun" is missing the blank
  750.  
  751. Page 36-41, Interrupt 2Fh Function D1h Subfunction 03h and Subfunc 04h
  752. in both entries, under Return Registers, for AH = 04h, "redefinded"
  753. should of course be "redefined".  This error was in the original
  754. interrupt list....
  755.  
  756. Page 36-50, Table 36-17
  757. the second line of the description for value 08h was not sufficiently
  758. indented. 
  759.  
  760. Page 36-59, Table 36-19
  761. The first word of the description for value 0Ch should be "fetch" not
  762. "etch".  The table also has several misaligned entries on the following
  763. page.
  764.  
  765.  
  766.  
  767.  
  768. In addition to the above, throughout the book there are numerous items
  769. which should line up vertically but do not.
  770.  
  771.  
  772.